Much of the utility of a spreadsheet application program lies in the ability of a user to capture data and algorithmic operations in an organized structure, such as a worksheet (also referred to herein at a “spreadsheet”), without the need for professional computer programming capabilities. A non-programmer user can specify complex data relationships, including summing operations, amortization operations, and so on, without learning a programming language. The non-programmer can utilize the capabilities of the spreadsheet application program in this manner to model complex numerical and financial relationships.
One of the problems with defining complex models within a spreadsheet application program is that the models are not encapsulated or labeled to support use by other users. In order to allow other users to access the model, it is typically necessary to employ the services of a programmer to code the model using a computer programming language. The compiled version of the model can then be published and utilized by other users. Coding a model in a programming language, however, requires the services of a skilled programmer and can therefore be very time consuming and expensive.
Alternatively, the workbook (a collection of worksheets or spreadsheets) containing the model may simply be shared with other users in a traditional manner, such as via a file share or through electronic mail. However, sharing a workbook containing a model in a traditional manner exposes the implementation of the model to each user that accesses the workbook. It may be desirable to hide the implementation of a model from the user, for instance, where the implementation of the model includes proprietary algorithms and calculations, but where it is still necessary to allow users to utilize the model. Current spreadsheet application programs do not provide a facility for allowing access to the model without permitting access to the underlying implementation.
It is with respect to these considerations and others that the various embodiments of the present invention have been made.